package cn.wangzg.course1202;

import androidx.appcompat.app.AppCompatActivity;

import android.graphics.drawable.AnimationDrawable;
import android.os.Bundle;
import android.view.View;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.view.animation.TranslateAnimation;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {
    private ImageView imageView;
    private ImageView iv;
    private Button mButton;
    private AnimationDrawable animationDrawable;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        imageView = findViewById(R.id.imageView);
        iv = findViewById(R.id.imageView2);
        mButton = findViewById(R.id.button5);
    }

    public void btnAlpha(View view) {
        // 步骤1:创建 需要设置动画的 视图View
        Animation anim = AnimationUtils.loadAnimation(this, R.anim.alpha_anim);
        // 步骤2:创建 动画对象 并传入设置的动画效果xml文件
        mButton.startAnimation(anim);
        // 步骤3:播放动画
        imageView.startAnimation(anim);
    }

    public void btnRotate(View view) {
        // 步骤1:创建 需要设置动画的 视图View
        Animation anim = AnimationUtils.loadAnimation(this, R.anim.rotate_anim);
        // 步骤2:创建 动画对象 并传入设置的动画效果xml文件
        //mButton.startAnimation(anim);
        // 步骤3:播放动画
        imageView.startAnimation(anim);
    }

    public void btnScale(View view) {
        // 步骤1:创建 需要设置动画的 视图View
        Animation anim = AnimationUtils.loadAnimation(this, R.anim.scale_anim);
        // 步骤2:创建 动画对象 并传入设置的动画效果xml文件
        //mButton.startAnimation(anim);
        // 步骤3:播放动画
        imageView.startAnimation(anim);
    }

    public void btnTranslate(View view) {
//        // 步骤1:创建 需要设置动画的 视图View
//        Animation anim = AnimationUtils.loadAnimation(this, R.anim.translate_anim);
//        // 步骤2:创建 动画对象 并传入设置的动画效果xml文件
//        //mButton.startAnimation(anim);
//        // 步骤3:播放动画
//        imageView.startAnimation(anim);

        Animation translateAnimation = new TranslateAnimation(0,
                200,0,500);
        // 步骤2：创建平移动画的对象：平移动画对应的Animation子类为TranslateAnimation
        // 参数分别是：
        // 1. fromXDelta ：视图在水平方向x 移动的起始值
        // 2. toXDelta ：视图在水平方向x 移动的结束值
        // 3. fromYDelta ：视图在竖直方向y 移动的起始值
        // 4. toYDelta：视图在竖直方向y 移动的结束值

        translateAnimation.setDuration(3000);
        translateAnimation.setFillAfter(true);
        // 固定属性的设置都是在其属性前加“set”，如setDuration（）
        mButton.startAnimation(translateAnimation);
        // 步骤3:播放动画
    }
    
    public void btnTest(View view){
        //Toast.makeText(this, "click", Toast.LENGTH_SHORT).show();
        // 步骤1:创建 需要设置动画的 视图View
//        Animation anim = AnimationUtils.loadAnimation(this, R.anim.zuhe);
//        // 步骤2:创建 动画对象 并传入设置的动画效果xml文件
//        //mButton.startAnimation(anim);
//        // 步骤3:播放动画
//        imageView.startAnimation(anim);

        animationDrawable = (AnimationDrawable) iv.getDrawable();
        // 2. 获取动画对象
        animationDrawable.start();
        // 3. 启动动画
    }
}
